// 权限工具类
import { useUserStore } from '@/stores/user';

export const PermissionChecker = {
  // 检查用户是否拥有指定的角色权限
  hasRoles(roles) {
    const userStore = useUserStore();
    
    // 如果是管理员，则拥有所有权限
    if (userStore.isAdmin) {
      return true;
    }
    
    // 将单个角色转换为数组形式
    const roleArray = Array.isArray(roles) ? roles : [roles];
    
    // 检查用户是否拥有指定的任一角色
    return roleArray.some(role => userStore.roles.includes(role));
  },
  
  // 获取角色显示名称
  getRoleDisplayName(roleName) {
    switch (roleName) {
      case 'ROLE_ADMIN': return '管理员';
      case 'ROLE_DEPARTMENT_HEAD': return '部系领导'; 
      case 'ROLE_RESEARCH_HEAD': return '教研室领导';
      case 'ROLE_TEACHER': return '教师';
      default: return roleName;
    }
  }
};

export default PermissionChecker;